package org.springblade.modules.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.admin.dto.TaskPlanPageQueryDTO;
import org.springblade.modules.admin.entity.MaintainTemplate;
import org.springblade.modules.admin.vo.TemplateDetailVO;
import org.springblade.modules.admin.vo.TemplateSelectDownVO;
import org.springblade.modules.admin.vo.TemplateVO;

import java.util.List;

public interface MaintainTemplateService extends BaseService<MaintainTemplate> {

    List<TemplateSelectDownVO> getTemplateSelectDown(String planType, String keyword, List<Long> taskPlanIds, List<Long> sceneTypeIds);

	IPage<TemplateVO> selectTemplatePage(TaskPlanPageQueryDTO pageQueryDTO,IPage<TemplateVO> page);

	TemplateDetailVO selectTemplateDetail(Long id);

	Boolean copy(Long id);

	Object selectElevatorCount(Long templateId, String contentIds);

	TemplateDetailVO saveTemplate(MaintainTemplate template);

	Boolean updateTemplate(MaintainTemplate template);

    List<TemplateSelectDownVO> selectTemplateDownByPlanStatus(Integer planStatus,String applyElevatorType, String keyword, List<Long> taskPlanIds, List<Long> sceneTypeIds);

    Boolean removeTemplate(List<Long> toLongList);

    String generateWxAppCode(Long templateId);

	List<TemplateSelectDownVO> selectTemplateDownByName(String planType, String keyword, List<Long> taskPlanIds);

    List<TemplateSelectDownVO> selectByPlan(Long planId);
}


